expname.library

Eine Library, die Produkt- und Hersteller-IDs dekodieren kann Version 2.2, Stand 19. April 1996

Richard Körber

Copyright \begin{matrix}c \\ ◯ \end{matrix} 1995-96 by Richard Körber Bitte lesen Sie das Copyright-Kapitel!

1 Einleitung

Diese System-Library dekodiert die Hersteller- und Produkt-ID von Erweiterungskarten. Wenn der Name bekannt ist, wird sein Name zurückgeliefert; ansonsten wird ein String mit der dezimalen Nummer der ID und einem ‘#’ davor erzeugt.

Obwohl schon einige Namen bekannt sind, brauche ich immer noch Ihre Hilfe. Bitten senden Sie mir Hersteller-Namen und -IDs, sowie die Produkt-Namen und -IDs von so vielen Karten wie möglich zu! :-)

Übrigens: Manche glauben anscheinend, ListExp ist das eigentliche Programm, um das sich alles dreht. Das war nicht meine Absicht. ListExp ist nur ein kleines Demonstrationsbeispiel. Der eigentliche Kern ist die expname.library. Natürlich können Sie trotzdem ListExp verwenden, wenn Sie möchten! :-)

2 Copyright

HINWEIS Hiermit untersage ich Torsten Bach, weiterhin meine Dokumentationen und Includedateien (in der alten sowie dieser Version) zu verwenden!

COPYRIGHT Diese Software ist urheberrechtlich geschützt. Der Urheber ist Richard Körber. Das bedeutet, daß es NICHT ERLAUBT ist, das Programm oder die Dokumentation irgendwie zu verändern. Insbesondere dürfen keine Dokumentations-, Include- oder Anleitungsdateien entfernt werden. Es ist NICHT erlaubt, diese Software oder einen Teil davon für einen anderen als dem in dieser Dokumentation geschilderten Zweck zu verwenden. Dies schließt auch alle Fonts, Bilder oder Samples ein. Es ist NICHT erlaubt, irgendeinen Teil des Pakets zu dekompilieren.

FREEWARE Diese Software ist FREEWARE. Es ist erlaubt, sie ohne eine Registrationsgebühr zu verwenden. Beachten Sie, daß Sie nur das Recht haben, die Software zu benutzen, aber keine Rechte an der Software an sich.

VERTEILUNG Dieses Paket ist frei verteilbar. Das bedeutet, daß es erlaubt ist, das Paket weiterzukopieren, solange diese Punkte erfüllt sind:

• Jede Weiterverteilung muß alle Dateien dieses Archivs in unverändertem Zustand enthalten. Es ist NICHT erlaubt, Dateien an das Archiv anzufügen. Ausnahme: wenn nur die expname.library verwendet wird, brauchen nicht alle zugehörigen Dateien verteilt werden, solange in der Dokumentation des Programms ein kurzer Hinweis darauf gegeben ist.

• Dieses Paket darf frei über Mailboxen, Internet/UseNet, Software-Archive wie Fred Fish oder AmiNet CD-ROM, und andere, ähnliche Medien verteilt werden.

• Disk-Magazine und Service-Anbieter, die für Dateiübertragungen Geld verlangen, dürfen das Paket nicht ohne schriftliche Einverständniserklärung des Entwicklers vertreiben.

• Es ist erlaubt, expname.library in kommerziellen Produkten einzusetzen, ohne das eine schriftliche Erlaubnis eingeholt werden muß. Bitte vermerken Sie in der Anleitung Ihres Programms, daß die expname.library von Richard Körber verwendet wird.

Einverständniserklärung Wenn Sie dieses Produkt benutzen, erklären Sie sich für VOLL verantwortlich für alle Schäden oder Verluste, die durch die Verwendung oder Fehlbenutzung auftreten. Der Entwickler der Software kann NICHT verantwortlich dafür gemacht werden.

Inhalt des Pakets

Das ExpName-Paket ist nur vollständig, wenn diese Dateien vorhanen sind:

         ExpName/expname.doc
         ExpName/ExpName-D.dvi
         ExpName/ExpName-D.guide
         ExpName/ExpName-E.dvi
         ExpName/ExpName-E.guide

ExpName/ListExp
ExpName/include/expname_lib.i
ExpName/include/fd/expname_lib.fd
ExpName/include/inline/expname.h
ExpName/include/libraries/expname.h
ExpName/include/libraries/expname.i
ExpName/include/pragmas/expname_pragmas.h
ExpName/include/proto/expname_protos.h
ExpName/libs/boards.library
ExpName/libs/expname.library
ExpName.info
FILE_ID.DIZ

MARKENZEICHEN Die Copyright und Markenzeichen aller Hersteller und Produkte werden von ihren Eigentümern gehalten.

Wenn Sie mit diesen Copyright-Bestimmungen nicht einverstanden sind, müssen Sie das ExpName-Paket und alle dazugehörigen Dateien sofort löschen!

3 Meine Adresse

E-MAIL Bitte senden Sie Fehlerbeschreibungen, Kartenbeschreibungen, fehlende Graphikkartensysteme, Keyfiles, Flames und so weiter an eine der folgenden E-Mail-Adressen:

       rkoerber@tfh.dssd.sub.org
       shred@eratosth.dssd.sub.org

a2h4ko@bg.bib.de (nur bis September 1996)

Sie können auch meine Homepage besuchen (bis September 1996):

http://www.bg.bib.de/~a2h4ko

SCHNECKENPOST Sie können mir auch einen gewöhnlichen Brief schreiben. Meine Adresse lautet:

         Richard Körber
         Hornstraße 20
         51465 Bergisch Gladbach
         Germany

Bitte legen Sie eine 1 DM-Briefmarke als Rückporto bei, wenn Sie eine Antwort möchten.

SUPPORT-MAILBOX Die aktuelle Version können Sie stets aus meiner Support-Mailbox beziehen:

------------- Rhein LINE ---------------
Port 01: +49 (0)2204 - 61630  19.200   Port 02: +49 (0)2204 / 61499  19.200
Port 03: +49 (0)2204 - 23856  28.800   Port 04: +49 (0)2204 / 61032  28.800
Port 05: +49 (0)2204 - 61033  28.800   Port 06: +49 (0)2204 / 61034  14.400
Port 07: +49 (0)2204 - 61035  16.800   Port 08: +49 (0)2204 / POINT  14.400
Port 09: +49 (0)2204 - 962121 64.000   Port 10: +49 (0)2204 / 962122 64.000

4 Verwendung

Es ist sehr einfach, die expname.library zu verwenden.

Wenn der Name einer speziellen Erweiterungskarte gesucht werden soll, kann die Hersteller- und Produkt-ID direkt an GetExpName() übergeben werden. Es ist in dem Fall Pflicht, den ConfigDev-Parameter auf NULL zu setzen...

Wenn der Name einer Erweiterungskarte gesucht wird, dessen ConfigDev-Struktur bekannt ist, braucht nur diese ConfigDev-Struktur übergeben werden, und fertig... :-)

Desweiteren bietet die expname.library seit V2.0 die Möglichkeit, Systemparameter wie Betriebssystemversion, Prozessor oder Speichergröße abzufragen. Hierfür wird die Funktion GetSysInfo() verwendet, der ein Pufferbereich und der ID-Code der Information (siehe Includedatei) übergeben wird.

Das war auch schon alles!

5 ListExp

ListExp ist ein kleines Tool (mein erstes, das ich in C geschrieben habe ;-) ), welches die expname.library verwendet und damit alle angeschlossenen Erweiterungskarten sowie deren Adresse und Größe anzeigt.

Durch ListExp bekommen Sie einen Eindruck, wozu expname.library verwendet werden kann. Wenn Einträge mit einem ‘#’ anstelle eines Namens beginnen, sollten Sie den Ausdruck von ListExp und die Beschreibung der fehlenden Karte so schnell wie möglich zu mir schicken…:-)

6 boards.library

Vor kurzem erschien im Aminet die boards.library von Torsten Bach.

Abgesehen von dem Programmcode, handelt es sich bei der Version 1.0 um eine simple Kopie der expname.library. Die Dokumentation und die Includedateien wurden zum großen Teil übernommen und durch ein Suchen&Ersetzen auf die neuen Namen getrimmt.

Der Programmcode wurde fehlerhaft umgesetzt. Im Gegensatz zur Autodoc liefert die Library TRUE zurück, wenn der Hersteller oder das Board unbekannt war, und FALSE, wenn beide bekannt waren.

Desweiteren ist seine Pragma-Datei unbrauchbar.

Die in diesem Paket vorhandene boards.library ist ein Ersatz der boards.library von Torsten Bach, verwendet intern jedoch die expname.library und gewährt damit weiterhin volle Kompatibelität.

Anhang A Autodoc

NAME GetExpName — Den Namen einer Erweiterung ermitteln

SYNOPSIS

     Success = GetExpName(ManufName,ProdName,ConfigDev,
       D0.l                  A0.l     A1.l      A2.l
          Manufacturer,Product)
            D0.w        D1.b
     ULONG GetExpName(STRPTR,STRPTR,struct ConfigDev*,UWORD,
      UBYTE);

FUNCTION Erzeugt den Namen einer Erweiterungskarte und deren Hersteller.

INPUTS

ManufName

String, der mit dem Herstellernamen ausgefüllt werden soll. Er muß mindestens 50 chars groß sein (Terminator eingeschlossen).

ProdName String, der mit dem Produktnamen ausgefüllt werden soll. Er muß mindestens 50 chars groß sein (Terminator eingeschlossen).

ConfigDev

Zeiger auf die ConfigDev-Struktur (von der expname.library) oder NULL.

Manufacturer

ID des Kartenherstellers, wenn ConfigDev NULL ist.

Product ID des Produktes (vom Hersteller abhängig), wenn ConfigDev NULL ist.

RESULT

Success TRUE wenn der Hersteller- und Produktname bekannt waren. FALSE wenn mindestens einer davon unbekannt war.

NOTE Wenn der Hersteller- oder Produktname unbekannt waren, wird der String mit der entsprechenden Nummer ausgefüllt. Das heißt, es ist kein echter Fehler wenn diese Funktion fehlschlägt; die Strings können in jedem Fall ausgewertet werden... Wenn eine ConfigDev-Struktur übergeben wird, kann expname.library in einigen Fällen einen Kartennamen finden, selbst wenn die Karte noch nicht in der Library eingetragen ist. Dieser Aufruf verändert kein Register außer D0.

BUGS Es sind bei weitem noch nicht alle existierenden Soundkarten eingebaut. Bitte senden Sie mir die Hersteller- und ProduktID sowie den Namen der unbekannten Karte zu. Meine E-Mail-Adresse: rkoerber@tfh.dssd.sub.org.

SEE ALSO NAME GetSysInfo — Informationen über das System holen (V2)

SYNOPSIS

Buffer = GetSysInfo(Buffer,Type,Reserved)
D0.l                A0.l  D0.l   D1.l
STRPTR GetSysInfo(STRPTR,ULONG,ULONG);

FUNCTION Holt Informationen über das momentane System. Diese Funktion ist DraCo-Kompatibel!

INPUTS

Buffer Zeichenkette, die mit der Information ausgefüllt werden soll. Sie muß mindestens 50 Zeichen lang sein (inklusive Terminator).

Type Informations-Typ. Diese Typen sind in V2 bekannt:

EXPTYPE_SYSTEM

Welches System wird verwendet? ("Amiga","DraCo")

EXPTYPE_CPU

Welche CPU ist verfügbar? (68000,68010,68020,…68060)

EXPTYPE_FPU

Welche FPU ist verfügbar? (—,68881,68882,68040,68060)

EXPTYPE_MMU

Welche MMU ist verfügbar? (—,68852,68030,68040,68060)

EXPTYPE_OSVER

Welche Betriebssystem-Version ist vorhanden? (z.B. "V39.106")

EXPTYPE_EXECVER

Welche exec-Version ist vorhanden? (z.B. "V39.47")

EXPTYPE_WBVER

Welche Workbench-Version ist vorhanden? (z.B. "V39.29", "—" wenn keine Workbench verfügbar ist)

EXPTYPE_ROMSIZE

Größe des Betriebssystem-ROMs. (z.B. "512KB")

EXPTYPE_CHIPSET

Welcher Chipsatz ist vorhanden? (z.B. "ECS","AGA","DraCo")

EXPTYPE_GFXSYS

Welches Graphikkarten-System ist vorhanden? (z.B. "CyberGraphX")

EXPTYPE_CHIPRAM

Größe des kompletten Chip-RAMs (z.B. "~2MB")

EXPTYPE_FASTRAM

Größe des kompletten Fast-RAMs (z.B. "12MB")

EXPTYPE_RAM

Größe des kompletten RAMs (z.B. "~14MB")

Reserved Reserviert für zukünftige Erweiterungen. Immer 0 übergeben!

RESULT

Buffer Zeiger auf den übergebenen Puffer, wenn kein Fehler auftrat.

Ansonsten NULL.

NOTE Dieser Aufruf verändert kein Register außer D0. BUGS SEE ALSO

Anhang B Bekannte bugs

ExpName wurde auf einem Amiga 4000/o3o/882/MMU, Kick 3.0, 14 MB RAM, Fast-Lane 1GB HD, MaestroPro, Toccata, BSC MultiIO, CyberVision 4MB geschrieben.

DIESE FEHLER SIND MOMENTAN BEKANNT Einige Hersteller haben zwei verschiedenen Boards eine ID zugewiesen. In diesem Fall könnte expname.library einen Namen zurückliefern, der nicht der Hardware entspricht. Obwohl es nicht mein Fehler ist, werde ich versuchen, diesen Fehler zu beseitigen.

DIESE ENFORCER- UND MUNGWALLHITS SIND BEKANNT Keine :^)

Anhang C History

V 1.0 • Erste release

• 4 Karten eingebaut

V 1.1

• 18 Karten eingebaut

V 1.2

• 27 Karten eingebaut

V 1.3 • 28 Karten eingebaut

• Schnellerer Suchalgorithmus

• ListExp verbessert: zeigt die Boardgröße und ob das Board defekt ist.

V 1.4

• 47 Karten eingebaut

V 1.5 • 76 Karten eingebaut

• ListExp: sollte jetzt auch funktionieren, wenn expname.library nicht

vorhanden ist.

V 1.6 • 132 Karten eingebaut

• Algorithmus eingebaut, der den Kartennamen ermitteln kann, wenn der Produktname nicht bekannt ist.

• GCC inline Include-Datei eingefügt.

• Dokumentation überarbeitet

• Dokumentation in Texinfo übersetzt

• Deutsche Version geschrieben

V 2.0 • 157 Karten eingebaut

• Neue Funktion GetSysInfo(): Liefert Infostrings über das System zurück.

• ListExp start erweitert.

• GCC inline war fehlerhaft!

V 2.1 • 160 Karten eingebaut

• Bugfix: ShowConfig stürtze nach dem Start der V2.0 ab.

• GetSysInfo() liefert jetzt auch Informationen über Speicherplatz.

• boards.library-Replacement geschrieben

V 2.2 • 161 Karten eingebaut

• Bugfix: expname stürzte bei unbekannten Boardnamen ab.

Anhang D Credits

Ich möchte mich besonders bei folgenden Leuten bedanken:

Sven Arke dafür, daß er mich mit seiner Mailbox unterstützt.

Kössi für seine viiielen Karten, seiner Hilfestellung bei TexInfo-Problemen und seinem Debugger-Talent.

Thomas Kessler für ShowConfigEnh und seine Ideen.

Amiga Technologies für das Amiga-Revival. Ihr macht eure Arbeit gut!

…und für ihre Beiträge (in Reihenfolge des Auftritts):

Norbert Dimpfl, Markus Pietz, Kai Rode, Martin Wietfeld, Thomas Andersson, Jörn Asmussen, Lutz Legero, Mika Lundell, Jürgen Ofner, Thomas Schürger, ’ALV’, Gunther Mannigel, Heiko Polig, Chris Painter, Patrick Thato, Rask Lambertsen, Jan Rembser, Michael Hartmann, Petter Lindquist, Johan Sundstrom, Ralph Wermke, Alexander Fichtner, Matthias Bethke, Fred Hamilton, Andre Schenk, Daniel Adolfsson, Geert Uytterhoeven, Colin Thompson, Bernd Kösling, Milco Veljanoski, Patrick Hess, Beno Zidaric, Ramiro Garcia

Die boards.library stammt von Torsten Bach.

         //
     \\ //   -- Amiga - The Computer for Creative Mind --

Konzept-Index 14

Konzept-Index

A

Adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Autodoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

B

boards.library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 boards.library: Hinweis . . . . . . . . . . . . . . . . . . . . . . . . 2 Bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

C

Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Credits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

E

E-Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Einverständniserklärung . . . . . . . . . . . . . . . . . . . . . . . 2

F

FreeWare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

H

History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

I

Inhalt des Pakets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

K

Kommerzielle Produkte. . . . . . . . . . . . . . . . . . . . . . . . 2

L

ListExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

M

Markenzeichen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

S

Schneckenpost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Support-Mailbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

U

Unbekannte Karten. . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

V

Verteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Verteilung über elektronische Medien . . . . . . . . . . 2 Verwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Inhaltsverzeichnis

1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 Meine Adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 Verwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 ListExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 boards.library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Anhang A Autodoc . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Anhang B Bekannte bugs . . . . . . . . . . . . . . . . . . . . 11 Anhang C History . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Anhang D Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Konzept-Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14